using IQIGame.Onigao.GamePlay;
using NetProtocol.POD;
using System;

namespace IQIGame.Onigao.Logic
{
    public static partial class LogicHelper
    {
        /// <summary>
        /// 协议路由器
        /// （适配本地和远程执行）
        /// </summary>
        public static IProtocolRouter Router = NullProtocolRouter.Inst;

        public static Func<int, LevelRegionPackConfig> GetLevelRegionPackConfig;
        public static Func<int, IntPtr> InitNavMesh;
        public static Action<IntPtr> CleanNavMeshScenePtr = (intPtr) => { };
        
        /// <summary>
        /// pid, levelId, SavePOD
        /// </summary>
        public static Action<long, long, LevelSavePOD> SaveLevel;
        /// <summary>
        /// pid, levelId
        /// </summary>
        public static Action<long, long> OnPlayerEnterLevel;
        /// <summary>
        /// pid, levelId
        /// </summary>
        public static Action<long, long> OnPlayerLeaveLevel;
    }
}
